#ifndef NANE_IMAGECODECSYSTEM_H
#   define  NANE_IMAGECODECSYSTEM_H

#   include "nane/CodecSystem/Image/IImageCodecSystem.h"
#   include "nane/core/SubSystem.h"
#   include "nane/core/crt/FileSystem.h"

#   include "nane/CodecSystem/Image/ImageDecoder.h"

namespace nane 
{
    
    class ImageCodecSystem
        : public SubSystem<IImageCodecSystem>
    {
    public:
        ImageCodecSystem();
        ~ImageCodecSystem();
        
    public:
        const char* GetFileType();
        ImageDecoder CreateDecoder( const InputPtr& _input );
        //ImageDecoder createDecoder( const char* _filename );
      
    public:
        class Implementation;
        Implementation* m;
    };
}   // namespace nane

#endif	// NANE_IMAGECODECSYSTEM_H
